#define  _CRT_SECURE_NO_WARNINGS
class Solution {
public:
    // string longestPalindrome(string s) {
    //     if(s.size() == 1)return s;
    //     string ret;
    //     for(int i = 0; i < s.size() - 1; i++)
    //     {
    //         int left = i, right = i + 1;
    //         while(left >= 0 && right < s.size() && s[left] == s[right])left--,right++;
    //         right -- , left ++ ;
    //         if(right - left + 1 > ret.size()) ret = s.substr(left, right - left + 1);
    //         left = i, right = i;
    //         while(left >= 0 && right < s.size() && s[left] == s[right])left--,right++;
    //         right -- , left ++ ;
    //         if(right - left + 1 > ret.size()) ret = s.substr(left, right - left + 1);
    //     }
    //     return ret;
    // }
    string longestPalindrome(string s) {
        if (s.size() == 1)return s;
        int begin = 0, len = 0;
        for (int i = 0; i < s.size() - 1; i++)
        {
            int left = i, right = i + 1;
            while (left >= 0 && right < s.size() && s[left] == s[right])left--, right++;
            if (right - left - 1 > len) begin = left + 1, len = right - left - 1;

            left = i, right = i;
            while (left >= 0 && right < s.size() && s[left] == s[right])left--, right++;
            if (right - left - 1 > len) begin = left + 1, len = right - left - 1;
        }
        return s.substr(begin, len);
    }
};